/**
 * 消息类型
 */
export enum MessageType {
  NOTIFICATION_NO_AGENT = 'notification_no_agent', //自定义（请求工作组会话接口后） 非工作时间，没有坐席，坐席未在线
  NOTIFICATION_SYS_NOTICE = 'notification_system_notice', //系统通知
  NOTIFICATION_RECEIPT = 'notification_receipt', // 对方接收到消息确认
  NOTIFICATION_PREVIEW = 'notification_preview', // 消息预知

  NOTIFICATION_WITHDRAW = 'notification_withdraw', //消息撤回
  NOTIFICATION_INVITE_ACCEPT = 'notification_invite_accept', //被邀请者接受邀请通知
  NOTIFICATION_TRANSFER_ACCEPT = 'notification_transfer_accept', //被转接着接受转接通知
  NOTIFICATION_AGENT_CLOSE = 'notification_agent_close', //坐席关闭会话
  NOTIFICATION_VISITOR_CLOSE = 'notification_visitor_close', //访客关闭会话
  NOTIFICATION_AUTO_CLOSE = 'notification_auto_close', //自动关闭会话
  NOTIFICATION_TRANSFER_AGENT_CLOSE = 'notification_transfer_agent_close', //转接坐席关闭会话

  NOTIFICATION_RATE_RESULT = 'notification_rate_result', //访客完成评价操作后， 客服会收到此类消息
  NOTIFICATION_INVITE_RATE = 'notification_invite_rate', //座席邀请评价
  NOTIFICATION_INVITE_RATE_CLOSE = 'notification_invite_rate_close', //会话小结邀请关闭

  NOTIFICATION_SESSION_AGENT_REMIND = 'notification_session_agent_remind', // 座席超时未发会话提醒
  NOTIFICATION_SESSION_VISITOR_REMIND = 'notification_session_visitor_remind', // 访客超时未发会话提醒
  //访客离开
  NOTIFICATION_QUEUE_LEAVE = 'notification_queue_leave',
  //离线消息被接入
  NOTIFICATION_OFFLINE_ACCEPT = 'notification_offline_accept',
  //离线消息访客已被接待
  NOTIFICATION_OFFLINE_MESSAGE_VISITOR_ACCEPT = 'notification_offline_message_visitor_accept',
  // 排队已被接待
  NOTIFICATION_QUEUE_ACCEPT = 'notification_queue_accept',
  // 工作组队列通知
  NOTIFICATION_QUEUE = 'notification_queue',

  //请求会话成功
  NOTIFICATION_SESSION = 'notification_session',
  //访客重新进入
  NOTIFICATION_SESSION_REENTRY = 'notification_session_reentry',
  //被邀请转接
  NOTIFICATION_TRANSFER = 'notification_transfer',
  //邀请消息
  NOTIFICATION_INVITE = 'notification_invite',
  //转接 拒绝
  NOTIFICATION_TRANSFER_REJECT = 'notification_transfer_reject',
  //邀请 拒绝
  NOTIFICATION_INVITE_REJECT = 'notification_invite_reject',
  //微信小程序超出最大回复数
  //小程序会话， 客服只允许发送3条消息， 超过此规则， 则会收到此消息
  NOTIFICATION_APPLET_OUT_COUNT = 'notification_applet_out_count',
  //退出会话信息
  NOTIFICATION_INVITEE_EXIT = 'notification_invitee_exit',
  // 在线转视频--通知访客
  VISITOR_ONLINE_TO_VIDEO = 'visitor_online_to_video',
  //非工作时间
  NOTIFICATION_NON_WORKING_TIME = 'notification_non_working_time',

  //会话关闭后，需要展示继续咨询提示，提示访客点击继续咨询
  NOTIFICATION_CUSTOM_CONTINUE_REQUEST = 'notification_custom_continue_request',
  //工作时间不在线
  NOTIFICATION_OFFLINE = 'notification_offline',

  // 视频消息
  NOTIFICATION_VIDEO_INFO = 'notification_video_info',
  NOTIFICATION_VIDEO_ERROR = 'notification_video_livekit_error_close',
  NOTIFICATION_VIDEO_WAIT_AGENT_ANSWER = 'notification_video_wait_agent_answer', //等待客服接听中
  NOTIFICATION_VIDEO_CALL_FAIL = 'notification_video_call_fail', //等待客服接听中
  NOTIFICATION_VIDEO_AGENT_CLOSE = 'notification_video_agent_close', //坐席关闭会话
  NOTIFICATION_VIDEO_VISITOR_CLOSE = 'notification_video_visitor_close', //访客关闭会话
  NOTIFICATION_VIDEO_AUTO_CLOSE = 'notification_video_auto_close', //自动关闭会话
  //访客重新进入
  NOTIFICATION_VIDEO_SESSION_REENTRY = 'notification_video_session_reentry',
  //访客重新进入
  NOTIFICATION_VIDEO_AGENT_JOIN_ROOM = 'notification_video_agent_join_room',
  // 房间新增参与人员
  NOTIFICATION_VIDEO_PARTICIPANT_JOINED = 'notification_video_participant_joined',
  // 房间参与人员离开
  NOTIFICATION_VIDEO_PARTICIPANT_LEAVED = 'notification_video_participant_leaved',
  // 邀请拒绝、取消、退出
  NOTIFICATION_VIDEO_INVITE_REJECT = 'notification_video_invite_reject',
  NOTIFICATION_VIDEO_INVITE_CANCEL = 'notification_video_invite_cancel',
  NOTIFICATION_VIDEO_INVITE_EXIT = 'notification_video_invitee_exit',
  // 房间变更主持人
  NOTIFICATION_VIDEO_ROOM_CHANGE_MAIN = 'notification_video_room_change_main',
  // 开启音频或视频申请
  NOTIFICATION_VIDEO_OPEN_AUDIO_OR_VIDEO = 'notification_video_open_audio_or_video',

  /**
   * Stomp Socket消息类型 - 访客在线
   * 会话建立后， 访客断开连接又重新建立连接，则此会话的所有客服均会收到此消息。
   */
  NOTIFICATION_VISITOR_ONLINE = 'notification_visitor_online',
  /**
   * Stomp Socket消息类型 -访客离线
   * 会话建立后， 访客断开连接，则此会话的所有客服均会收到此消息。
   */
  NOTIFICATION_VISITOR_LEAVE = 'notification_visitor_leave',

  //聊天消息类型
  MESSAGE_TEXT = 'text',
  MESSAGE_IMAGE = 'image',
  MESSAGE_VIDEO = 'video',
  MESSAGE_VOICE = 'voice',
  MESSAGE_FILE = 'file',
  MESSAGE_ORDER = 'order',
  MESSAGE_CARD = 'card',
  MESSAGE_GOODS = 'goods',
  MESSAGE_ROBOT = 'robot',
  MESSAGE_RICH = 'rich',
  MESSAGE_LINK = 'link',

  //有一些消息需要拼接一些操作，自定义这个类型去处理
  MESSAGE_OPERATION = 'operation',
  //请求工作组失败，自定义消息
  MESSAGE_REQUEST_ERROR = 'message_request_error',

  //坐席加入房间
  MESSAGE_TYPE_NOTIFICATION_AGENT_JOIN_ROOM = 'notification_agent_join_room',

  //进入房间token
  NOTIFICATION_VISITOR_JOIN_ROOM_TOKEN = 'notification_visitor_join_room_token',
  //通知队列置顶
  NOTIFICATION_QUEUE_TOP = 'notification_queue_top',
  //通知队列取消置顶
  NOTIFICATION_QUEUE_TOP_CANCEL = 'notification_queue_top_cancel'
}

/**
 * 消息位置
 */
export enum MsgPosition {
  RIGHT = 'right',
  LEFT = 'left',
  CENTER = 'center'
}
